<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <script>
            let arr = [1, 2, 3];
            // console.log(arr.shift()); // 1
            // console.log(arr); // [2,3]

            Array.prototype.myShift = function () {
                let result = this[0];
                for (let i = 0; i < this.length; i++) {
                    // 后面的元素依次赋给前一项
                    // 因为数组的第一个元素已经删除
                    this[i] = this[i + 1];
                }
                // 改变数组长度
                this.length--;
                // 返回被删除的元素
                return result;
            };
            console.log(arr.myShift()); // 1
            console.log(arr); // [2,3]
        </script>
    </body>
</html>
